package com.openlogic.common.logic.node.enums;

import com.openlogic.common.logic.node.parse.AreaParseHandler;
import com.openlogic.common.logic.node.parse.BaseParseHandler;
import com.openlogic.common.logic.node.parse.DefaultParseHandler;
import com.openlogic.common.logic.node.parse.FieldParseHandler;
import com.openlogic.common.logic.node.parse.LineParseHandler;
import com.openlogic.common.logic.node.parse.NodeParseHandler;

/**
* @ClassName: ParseTypeEnums
* @Description: 策略枚举管理
* @author weiyongpeng
* @date 2024年7月14日 下午12:10:36
 */
public enum ParseTypeEnums {
	
	NODE_INFO("NodeInfo"){
		public BaseParseHandler getParseByType() {
			return new NodeParseHandler();
		}
	},
	LINE_INFO("LineInfo"){
		public BaseParseHandler getParseByType() {
			return new LineParseHandler();
		}
	},
	AREA_INFO("AreaInfo"){
		public BaseParseHandler getParseByType() {
			return new AreaParseHandler();
		}
	},
	FIELD_INFO("FieldInfo"){
		public BaseParseHandler getParseByType() {
			return new FieldParseHandler();
		}
	},
	DEFAULT_INFO("defaultInfo"){
		public BaseParseHandler getParseByType() {
			return new DefaultParseHandler();
		}
	};
	
	private String parsetype;
	
	
	private ParseTypeEnums(String parsetype) {
		this.parsetype = parsetype;
	}

	private ParseTypeEnums() {
	}
	
	public String getParsetype() {
		return parsetype;
	}

	public void setParsetype(String parsetype) {
		this.parsetype = parsetype;
	}

	public abstract BaseParseHandler getParseByType();
}
